﻿#!/usr/bin/env pwsh

# 获取所有即将被提交的文件
$files = git diff --cached --name-only --diff-filter=ACM

# 定义文件大小限制（1MB）
$sizeLimit = 1MB

# 遍历每个文件
foreach ($file in $files) {
    # 获取文件大小
    $fileSize = (Get-Item $file).Length

    # 如果文件大小超过限制，打印错误信息并退出
    if ($fileSize -gt $sizeLimit) {
        Write-Host "Error: File '$file' is larger than 1MB ($($fileSize / 1MB) MB)." -ForegroundColor Red
        Write-Host "Please remove this file from the commit or reduce its size." -ForegroundColor Red
        exit 1
    }
}

# 如果没有超过限制的文件，正常退出
exit 0